//go:build js || wasm

package godom

// AttrWrapper
// https://developer.mozilla.org/en-US/docs/Web/API/Attr
type AttrWrapper interface {
	NodeWrapper

	LocalName() string
	Name() string
	NamespaceURI() string
	OwnerElement() ElementWrapper
	Prefix() string
	Value() string
}

type Attr struct {
	Node
}

func (a *Attr) LocalName() string {
	return a.Node.jsValue.Get("localName").String()
}

func (a *Attr) Name() string {
	return a.Node.jsValue.Get("name").String()
}

func (a *Attr) NamespaceURI() string {
	return a.Node.jsValue.Get("namespaceURI").String()
}

func (a *Attr) OwnerElement() ElementWrapper {
	return &Element{Node{a.Node.jsValue.Get("ownerElement")}}
}

func (a *Attr) Prefix() string {
	return a.Node.jsValue.Get("prefix").String()
}

func (a *Attr) Value() string {
	return a.Node.jsValue.Get("value").String()
}
